package pruebasUnitarias;

import junit.framework.TestCase;
import tablero.Casillero;
import tablero.Posicion;
import ataques.Disparo;
import ataques.MinaSimple;
import barco.Componente;

public class CasilleroTest extends TestCase {

    public void testCasilleroVacioDeberiaTenerUnComponenteLuegoDeColocarlo() {
        Casillero casillero = new Casillero();
        int vida = 1;
        casillero.colocarComponente(new Componente(vida));
        assertEquals(casillero.getComponentes().size(), 1);
    }

    public void testCasilleroVacioDeberiaTenerUnaMinaLuegoDeColocarla() {
        Casillero casillero = new Casillero();
        casillero.recibirMina(new MinaSimple(new Posicion(1, 1)));
        assertEquals(casillero.getMinas().size(), 1);
    }

    public void testCasilleroDeberiaEnviarUnDisparoRecibidoAlComponente() {
        Casillero casillero = new Casillero();
        int vida = 1;
        Componente componente = new Componente(vida);
        casillero.colocarComponente(componente);
        casillero.recibirDisparo(new Disparo(new Posicion(1, 1)));
        assertEquals(componente.getVida(), 0);
    }

    public void testCasilleroDeberiaExplotarSusMinasYDaniarSusComponentes() {
        Casillero casillero = new Casillero();
        int vida = 1;
        Componente componente = new Componente(vida);
        casillero.colocarComponente(componente);
        casillero.explotarMina(new MinaSimple(new Posicion(1, 1)));
        assertEquals(componente.getVida(), 0);

    }

}
